package com.oe.market.modules.common.model;

import com.google.gson.annotations.SerializedName;

import java.lang.reflect.Field;

public class BaseBean {

    // 该方法的参数列表是一个类的 类名、成员变量、给变量的赋值
    public void setProperty(String PropertyName, Object value)
            throws NoSuchFieldException, SecurityException,
            IllegalArgumentException, IllegalAccessException {
        if (null == value) {
            return;
        }

        // 获取obj类的字节文件对象
        Class c = this.getClass();

        // 获取该类的成员变量
        Field f = c.getDeclaredField(PropertyName);

        // 取消语言访问检查
        f.setAccessible(true);

        // 给变量赋值
        f.set(this, value);
    }


    public Object getProperty(String PropertyName)
            throws NoSuchFieldException, SecurityException,
            IllegalArgumentException, IllegalAccessException {

        // 获取obj类的字节文件对象
        Class c = this.getClass();

        // 获取该类的成员变量
        Field f = c.getDeclaredField(PropertyName);

        // 取消语言访问检查
        f.setAccessible(true);

        return f.get(this);
    }
}
